package com.wiener.web.managebeans;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

import org.apache.log4j.Logger;
import org.primefaces.event.RowEditEvent;

import com.wiener.core.domain.Atencion;
import com.wiener.core.domain.Cliente;
import com.wiener.core.domain.ClienteAux;
import com.wiener.core.domain.Entidad;
import com.wiener.core.domain.EntidadAux;
import com.wiener.core.services.IntegrationServices;
import com.wiener.web.beans.Alumno;
import com.wiener.web.beans.Tabla;
import com.wiener.web.common.Car;

@ManagedBean(name = "studentManagedBean")
@ViewScoped
public class StudentManagedBean implements Serializable {

	private static final long serialVersionUID = 1L;
	private static final Logger LOGGER = Logger
			.getLogger(StudentManagedBean.class);

	@ManagedProperty(value = "#{integrationServices}")
	private IntegrationServices integrationServices;

	private Cliente cliente;
	private List<Cliente> clientes;
	private ClienteAux clienteAux;
	private Alumno alumno;

	private List<Entidad> listaCaptaciones;
	private List<Entidad> listaCategorias;
	private List<Entidad> listaSexo;
	private List<Entidad> listaMedioAtencion;
	private List<Entidad> listaModoAcercamiento;

	private List<Entidad> listaDescripcionAcercamiento;
	private List<Entidad> listaDetalleAcercamiento;
	private List<Entidad> listaDepartamento;
	private List<Entidad> listaProvincia;
	private List<Entidad> listaDistrito;
	private List<Entidad> listaPaises;

	private List<Entidad> listaEmpresas;
	private List<Entidad> listaCargos;
	private List<EntidadAux> listaCarreraSugeridas;
	private List<Entidad> listaTipoColegios;
	private List<Entidad> listaColegios;
	private List<Entidad> listaInstitutoProcedencia;

	private List<Entidad> listaInstitucion1;
	private List<Entidad> listaCarreraInst1;
	private List<Entidad> listaModalidad;
	private List<Entidad> listaModalidadEstudio;
	private List<Entidad> listaTipoDescuento;
	private List<Entidad> listaDescuento;

	public String captacion;
	public String categoria;
	public String codigoAtencion;
	public String dni;
	public String apellidoPaterno;
	public String apellidoMaterno;
	public String nombres;
	public String sexo;
	public Date fechaNac;
	public String medioAtencion;
	public String modoAtencion;
	public String descripcionAtencion;
	public String detalleAtencion;
	public String direccion;
	public String departamento;
	public String provincia;
	public String distrito;
	public String email;
	public String telefono;
	public String telefono2;
	public String paisResidencia;
	public String pais;
	public String paisResidencia2;
	public String tipoColegio;
	public String anoTermino;
	public String colegios;

	public String empresa;
	public String ruc;
	public String cargo;
	public String anoExperiencia;
	public String observaciones;

	public String institutoProcedencia;
	public String anoegreso;
	public String motivotranslado;
	public String carreraSugerida;

	public List<Tabla> listaTabla;

	private String intitucion1;

	@PostConstruct
	public void inicializar() {
		try {
			System.out.println(" inicializando combos");
			listaCaptaciones = integrationServices.obtenerCaptaciones();
			listaDepartamento = integrationServices.obtenerUbigeo("D", "%");
			listaCarreraSugeridas = integrationServices
					.obtenerCarrerasSugeridas();
			listaTipoColegios = integrationServices.obtenerTipoColegios();
			listaColegios = integrationServices.obtenerColegios();
			listaInstitutoProcedencia = integrationServices
					.obtenerInstitucionProcedencia();
			listaEmpresas = integrationServices.obtenerEmpresas();
			listaCategorias = integrationServices.obtenerCategorias();
			listaSexo = integrationServices.obtenerSexo();
			listaPaises = integrationServices.obtenerPaises();
			listaMedioAtencion = integrationServices.obtenerMedioAtencion();
			listaModoAcercamiento = integrationServices
					.obtenerModoAcercamiento();
			listaCarreraSugeridas = integrationServices
					.obtenerCarrerasSugeridas();
			listaTabla = new ArrayList<Tabla>();
			listaInstitucion1 = integrationServices.obtenerInstitucion1();
			System.out.println(" fin inicializando combos");
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	public List<Entidad> getListaModalidad() {
		return listaModalidad;
	}

	public void setListaModalidad(List<Entidad> listaModalidad) {
		this.listaModalidad = listaModalidad;
	}

	public List<Entidad> getListaModalidadEstudio() {
		return listaModalidadEstudio;
	}

	public void setListaModalidadEstudio(List<Entidad> listaModalidadEstudio) {
		this.listaModalidadEstudio = listaModalidadEstudio;
	}

	public String getIntitucion1() {
		return intitucion1;
	}

	public void setIntitucion1(String intitucion1) {
		this.intitucion1 = intitucion1;
	}

	public List<Entidad> getListaCarreraInst1() {
		return listaCarreraInst1;
	}

	public void setListaCarreraInst1(List<Entidad> listaCarreraInst1) {
		this.listaCarreraInst1 = listaCarreraInst1;
	}

	public List<Entidad> getListaInstitucion1() {
		return listaInstitucion1;
	}

	public void setListaInstitucion1(List<Entidad> listaInstitucion1) {
		this.listaInstitucion1 = listaInstitucion1;
	}

	public List<Tabla> getListaTabla() {
		return listaTabla;
	}

	public void setListaTabla(List<Tabla> listaTabla) {
		this.listaTabla = listaTabla;
	}

	public String getCarreraSugerida() {
		return carreraSugerida;
	}

	public void setCarreraSugerida(String carreraSugerida) {
		this.carreraSugerida = carreraSugerida;
	}

	public String getEmpresa() {
		return empresa;
	}

	public void setEmpresa(String empresa) {
		this.empresa = empresa;
	}

	public String getRuc() {
		return ruc;
	}

	public void setRuc(String ruc) {
		this.ruc = ruc;
	}

	public String getCargo() {
		return cargo;
	}

	public void setCargo(String cargo) {
		this.cargo = cargo;
	}

	public String getAnoExperiencia() {
		return anoExperiencia;
	}

	public void setAnoExperiencia(String anoExperiencia) {
		this.anoExperiencia = anoExperiencia;
	}

	public String getObservaciones() {
		return observaciones;
	}

	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}

	public String getInstitutoProcedencia() {
		return institutoProcedencia;
	}

	public void setInstitutoProcedencia(String institutoProcedencia) {
		this.institutoProcedencia = institutoProcedencia;
	}

	public String getAnoegreso() {
		return anoegreso;
	}

	public void setAnoegreso(String anoegreso) {
		this.anoegreso = anoegreso;
	}

	public String getMotivotranslado() {
		return motivotranslado;
	}

	public void setMotivotranslado(String motivotranslado) {
		this.motivotranslado = motivotranslado;
	}

	public String getPaisResidencia2() {
		return paisResidencia2;
	}

	public void setPaisResidencia2(String paisResidencia2) {
		this.paisResidencia2 = paisResidencia2;
	}

	public String getTipoColegio() {
		return tipoColegio;
	}

	public void setTipoColegio(String tipoColegio) {
		this.tipoColegio = tipoColegio;
	}

	public String getAnoTermino() {
		return anoTermino;
	}

	public void setAnoTermino(String anoTermino) {
		this.anoTermino = anoTermino;
	}

	public String getColegios() {
		return colegios;
	}

	public void setColegios(String colegios) {
		this.colegios = colegios;
	}

	public String getDireccion() {
		return direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	public String getDepartamento() {
		return departamento;
	}

	public void setDepartamento(String departamento) {
		this.departamento = departamento;
	}

	public String getProvincia() {
		return provincia;
	}

	public void setProvincia(String provincia) {
		this.provincia = provincia;
	}

	public String getDistrito() {
		return distrito;
	}

	public void setDistrito(String distrito) {
		this.distrito = distrito;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getTelefono() {
		return telefono;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	public String getTelefono2() {
		return telefono2;
	}

	public void setTelefono2(String telefono2) {
		this.telefono2 = telefono2;
	}

	public String getPaisResidencia() {
		return paisResidencia;
	}

	public void setPaisResidencia(String paisResidencia) {
		this.paisResidencia = paisResidencia;
	}

	public String getPais() {
		return pais;
	}

	public void setPais(String pais) {
		this.pais = pais;
	}

	public String getMedioAtencion() {
		return medioAtencion;
	}

	public void setMedioAtencion(String medioAtencion) {
		this.medioAtencion = medioAtencion;
	}

	public String getModoAtencion() {
		return modoAtencion;
	}

	public void setModoAtencion(String modoAtencion) {
		this.modoAtencion = modoAtencion;
	}

	public String getDescripcionAtencion() {
		return descripcionAtencion;
	}

	public void setDescripcionAtencion(String descripcionAtencion) {
		this.descripcionAtencion = descripcionAtencion;
	}

	public String getDetalleAtencion() {
		return detalleAtencion;
	}

	public void setDetalleAtencion(String detalleAtencion) {
		this.detalleAtencion = detalleAtencion;
	}

	public String getCodigoAtencion() {
		return codigoAtencion;
	}

	public void setCodigoAtencion(String codigoAtencion) {
		this.codigoAtencion = codigoAtencion;
	}

	public String getDni() {
		return dni;
	}

	public void setDni(String dni) {
		this.dni = dni;
	}

	public String getApellidoPaterno() {
		return apellidoPaterno;
	}

	public void setApellidoPaterno(String apellidoPaterno) {
		this.apellidoPaterno = apellidoPaterno;
	}

	public String getApellidoMaterno() {
		return apellidoMaterno;
	}

	public void setApellidoMaterno(String apellidoMaterno) {
		this.apellidoMaterno = apellidoMaterno;
	}

	public String getNombres() {
		return nombres;
	}

	public void setNombres(String nombres) {
		this.nombres = nombres;
	}

	public String getSexo() {
		return sexo;
	}

	public void setSexo(String sexo) {
		this.sexo = sexo;
	}

	public Date getFechaNac() {
		return fechaNac;
	}

	public void setFechaNac(Date fechaNac) {
		this.fechaNac = fechaNac;
	}

	public String getCaptacion() {
		return captacion;
	}

	public void setCaptacion(String captacion) {
		this.captacion = captacion;
	}

	public String getCategoria() {
		return categoria;
	}

	public void setCategoria(String categoria) {
		this.categoria = categoria;
	}

	public Alumno getAlumno() {
		return alumno;
	}

	public void setAlumno(Alumno alumno) {
		this.alumno = alumno;
	}

	public StudentManagedBean() {
		alumno = new Alumno();
		cliente = new Cliente();
	}

	public IntegrationServices getIntegrationServices() {
		return integrationServices;
	}

	public void setIntegrationServices(IntegrationServices integrationServices) {
		this.integrationServices = integrationServices;
	}

	public Cliente getCliente() {
		return cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	public List<Entidad> getListaCaptaciones() {
		return listaCaptaciones;
	}

	public void setListaCaptaciones(List<Entidad> listaCaptaciones) {
		this.listaCaptaciones = listaCaptaciones;
	}

	public List<Entidad> getListaCategorias() {
		return listaCategorias;
	}

	public void setListaCategorias(List<Entidad> listaCategorias) {
		this.listaCategorias = listaCategorias;
	}

	public List<Entidad> getListaSexo() {
		return listaSexo;
	}

	public void setListaSexo(List<Entidad> listaSexo) {
		this.listaSexo = listaSexo;
	}

	public List<Entidad> getListaMedioAtencion() {
		return listaMedioAtencion;
	}

	public void setListaMedioAtencion(List<Entidad> listaMedioAtencion) {
		this.listaMedioAtencion = listaMedioAtencion;
	}

	public List<Entidad> getListaModoAcercamiento() {
		return listaModoAcercamiento;
	}

	public void setListaModoAcercamiento(List<Entidad> listaModoAcercamiento) {
		this.listaModoAcercamiento = listaModoAcercamiento;
	}

	public List<Entidad> getListaDescripcionAcercamiento() {
		return listaDescripcionAcercamiento;
	}

	public void setListaDescripcionAcercamiento(
			List<Entidad> listaDescripcionAcercamiento) {
		this.listaDescripcionAcercamiento = listaDescripcionAcercamiento;
	}

	public List<Entidad> getListaDetalleAcercamiento() {
		return listaDetalleAcercamiento;
	}

	public void setListaDetalleAcercamiento(
			List<Entidad> listaDetalleAcercamiento) {
		this.listaDetalleAcercamiento = listaDetalleAcercamiento;
	}

	public List<Entidad> getListaDepartamento() {
		return listaDepartamento;
	}

	public void setListaDepartamento(List<Entidad> listaDepartamento) {
		this.listaDepartamento = listaDepartamento;
	}

	public List<Entidad> getListaProvincia() {
		return listaProvincia;
	}

	public void setListaProvincia(List<Entidad> listaProvincia) {
		this.listaProvincia = listaProvincia;
	}

	public List<Entidad> getListaDistrito() {
		return listaDistrito;
	}

	public void setListaDistrito(List<Entidad> listaDistrito) {
		this.listaDistrito = listaDistrito;
	}

	public List<Entidad> getListaPaises() {
		return listaPaises;
	}

	public void setListaPaises(List<Entidad> listaPaises) {
		this.listaPaises = listaPaises;
	}

	public List<Entidad> getListaEmpresas() {
		return listaEmpresas;
	}

	public void setListaEmpresas(List<Entidad> listaEmpresas) {
		this.listaEmpresas = listaEmpresas;
	}

	public List<Entidad> getListaCargos() {
		return listaCargos;
	}

	public void setListaCargos(List<Entidad> listaCargos) {
		this.listaCargos = listaCargos;
	}

	public List<EntidadAux> getListaCarreraSugeridas() {
		return listaCarreraSugeridas;
	}

	public void setListaCarreraSugeridas(List<EntidadAux> listaCarreraSugeridas) {
		this.listaCarreraSugeridas = listaCarreraSugeridas;
	}

	public List<Entidad> getListaTipoColegios() {
		return listaTipoColegios;
	}

	public void setListaTipoColegios(List<Entidad> listaTipoColegios) {
		this.listaTipoColegios = listaTipoColegios;
	}

	public List<Entidad> getListaColegios() {
		return listaColegios;
	}

	public void setListaColegios(List<Entidad> listaColegios) {
		this.listaColegios = listaColegios;
	}

	public List<Entidad> getListaInstitutoProcedencia() {
		return listaInstitutoProcedencia;
	}

	public void setListaInstitutoProcedencia(
			List<Entidad> listaInstitutoProcedencia) {
		this.listaInstitutoProcedencia = listaInstitutoProcedencia;
	}

	public List<Entidad> getListaTipoDescuento() {
		return listaTipoDescuento;
	}

	public void setListaTipoDescuento(List<Entidad> listaTipoDescuento) {
		this.listaTipoDescuento = listaTipoDescuento;
	}

	public List<Entidad> getListaDescuento() {
		return listaDescuento;
	}

	public void setListaDescuento(List<Entidad> listaDescuento) {
		this.listaDescuento = listaDescuento;
	}

	public void buscar() {
		System.out.println("entro a buscar ");
		List<ClienteAux> lista = null;
		if (dni != null && !"".equals(dni)) {
			try {
				lista = integrationServices.obtenerCliente(dni, "%", "%", "%");
				if (lista != null && lista.size() > 0) {
					clienteAux = lista.get(0);
					clientes = integrationServices.cargaCliente(clienteAux
							.getCliente_informes());
					cliente = clientes.get(0);
					setCaptacion(cliente.getTipoCapatacion());
					setCategoria(cliente.getTipoInforme());
					setCodigoAtencion(cliente.getCliente_informes());
					setApellidoMaterno(cliente.getApellido_materno());
					setApellidoPaterno(cliente.getApellido_paterno());
					setNombres(cliente.getNombres());
					setSexo(cliente.getSexo());
					// setFechaNac();04/09/13 1985-09-06 00:00:00
					setMedioAtencion(cliente.getMedioAtencion());
					setModoAtencion(cliente.getModoAcercamiento());
					String ubigeo = cliente.getUbigeo();

					setDireccion(cliente.getDireccion());
					System.out.println("ubigeo = " + ubigeo);
					if (ubigeo != null && !"".equals(ubigeo)) {
						setDepartamento(ubigeo.substring(0, 2));
						setListaDepartamento(integrationServices.obtenerUbigeo(
								"D", ubigeo.substring(0, 2)));
						setProvincia(ubigeo.substring(0, 4));
						setListaProvincia(integrationServices.obtenerUbigeo(
								"P", ubigeo.substring(0, 4)));
						setDistrito(ubigeo);
						setListaDistrito(integrationServices.obtenerUbigeo("T",
								ubigeo));
					}
					setEmail(cliente.getEmail());
					setTelefono(cliente.getTelefono());
					setTelefono2(cliente.getTelefono2());

					setPais(pais);
					setTipoColegio(cliente.getTipoColegio());
					setAnoTermino(cliente.getAnoTermino());
					setColegios(cliente.getColegio());
					setEmpresa(cliente.getEmpresa());
					setRuc(cliente.getRuc());
					setListaCargos(integrationServices.obtenerCargos(cliente
							.getEmpresa()));
					setAnoExperiencia(cliente.getAnioExpEmp());
					setObservaciones(cliente.getObsEmp());

				}
				Tabla tabla;
				List<Atencion> listaDetalle = integrationServices
						.cargaAtencion(clienteAux.getCliente_informes());
				listaTabla = new ArrayList<Tabla>();
				int item = 0;
				if (listaDetalle != null) {
					for (Iterator iterator = listaDetalle.iterator(); iterator
							.hasNext();) {
						Atencion entidad = (Atencion) iterator.next();
						
						
						System.out.println("flag captacion "
								+ entidad.getFlagCaptacion());
						System.out.println("carrera institucion "
								+ entidad.getCarrera());
						tabla = new Tabla();
						tabla.setItem(item);
						tabla.setFlagCaptacion(entidad.getFlagCaptacion());
						tabla.setCliente(entidad.getCliente());
						tabla.setInstitucion(entidad.getInstitucion());
						tabla.setCarrera(entidad.getCarrera());
						tabla.setCarreraDescripcion(entidad.getCarreraDescripcion());
						tabla.setPeriodo(entidad.getPeriodo());
						tabla.setMes(entidad.getMes());
						tabla.setCodigo(entidad.getCodigo());
						tabla.setModalidad(entidad.getModalidad());
						tabla.setModalidadDescripcion(entidad.getModalidadDescripcion());
						tabla.setTurno(entidad.getTurno());
						tabla.setSeccion(entidad.getSeccion());
						tabla.setTipoDescuento(entidad.getTipoDescuento());
						tabla.setDescuento(entidad.getDescuento());
						tabla.setMotivoDescuento(entidad.getMotivoDescuento());
						tabla.setMesInicio(entidad.getMesInicio());
						tabla.setNivelInicio(entidad.getNivelInicio());
						tabla.setTipoAcercamiento(entidad.getTipoAcercamiento());
						tabla.setFicha(entidad.getFicha());
						tabla.setMatricula(entidad.getMatricula());
						tabla.setUsuarioCreacion(entidad.getUsuarioCreacion());
						tabla.setSubModalidad(entidad.getSubModalidad());
						tabla.setFechaModificacion(entidad.getFechaModificacion());
						tabla.setUsuarioModificacion(entidad.getUsuarioModificacion());
						tabla.setAtencion(entidad.getAtencion());
						tabla.setFechaCreacion(entidad.getFechaCreacion());
						tabla.setSede(entidad.getSede());
						tabla.setTipoPersona(entidad.getTipoPersona());
						tabla.setFechaCapatacion(entidad.getFechaCapatacion());
						tabla.setAprobacion(entidad.getAprobacion());
						tabla.setModalidad1(entidad.getModalidad1());
						tabla.setEncuesta(entidad.getEncuesta());
						
						listaCarreraInst1 = integrationServices.obtenerCarreraInst1(entidad.getInstitucion());
							
						listaTabla.add(tabla);
						item++;
					}

				}

			} catch (Exception e) {
				e.printStackTrace();
				FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,"Error al Realizar Busqueda", e.getMessage()));
			}

		} else {
			limpiar();
		}

		System.out.println("fin buscar ");
	}

	public void limpiar() {
		System.out.println(" inicio limpiar");
		
		
		setCaptacion(null);
		setCategoria(null);
		setCodigoAtencion(null);
		setApellidoMaterno(null);
		setApellidoPaterno(null);
		setNombres(null);
		setSexo(null);
		setFechaNac(null);
		setDni(null);
		setMedioAtencion(null);
		setModoAtencion(null);

		setDireccion(null);

		setDepartamento(null);
		setListaDepartamento(null);
		setListaProvincia(null);
		setListaDistrito(null);
		setEmpresa(null);
		setListaEmpresas(null);
		setListaCargos(null);
		setListaInstitutoProcedencia(null);		
		setListaCarreraSugeridas(null);
		setListaCaptaciones(null);
		setListaCategorias(null);
		setProvincia(null);

		setDistrito(null);

		setEmail(null);
		setTelefono(null);
		setTelefono2(null);

		setPais(null);
		setTipoColegio(null);
		setAnoTermino(null);
		setColegios(null);
		setEmpresa(null);
		setRuc(null);

		setAnoExperiencia(null);
		setObservaciones(null);
		listaTabla = new ArrayList<Tabla>();
		inicializar();
		System.out.println(" fin limpiar");
	}

	public void obtenerPuestoCargo() {
		try {
			System.out.println("empresa " + empresa);
			listaCargos = integrationServices.obtenerCargos(empresa);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public void obtenerDescripcionAcercamiento() {

		LOGGER.info("modo atencion " + modoAtencion);

		if (modoAtencion != null && !"".equals(modoAtencion)) {
			try {
				listaDescripcionAcercamiento = integrationServices
						.obtenerDescripcionAcercamiento(modoAtencion);
				listaDetalleAcercamiento = integrationServices
						.obtenerDetalleAcercamiento(modoAtencion);
			} catch (Exception e) {

				e.printStackTrace();
			}
		} else {
			listaDescripcionAcercamiento = new ArrayList<Entidad>();
			listaDetalleAcercamiento = new ArrayList<Entidad>();
		}
	}

	public void obtenerProvincia() {
		LOGGER.info("departamento " + departamento);
		if (departamento != null && !"".equals(departamento)) {
			try {
				listaProvincia = integrationServices.obtenerUbigeo("P",
						departamento);
			} catch (Exception e) {
				e.printStackTrace();
			}

		}
	}

	public void obtenerDistrito() {
		LOGGER.info("departamento " + departamento);
		LOGGER.info("provincia " + provincia);
		if (departamento != null && !"".equals(departamento)
				&& provincia != null && !"".equals(provincia)) {
			try {
				listaDistrito = integrationServices.obtenerUbigeo("T",
						departamento + provincia);
			} catch (Exception e) {
				e.printStackTrace();
			}

		}
	}

	public void nuevaFila() {
		Tabla tabla = new Tabla();
		listaTabla.add(tabla);
	}

	public void grabarRegistro() {

		System.out.println(" Tipo Captacion = " + getCaptacion());
		System.out.println(" Categoria = " + getCategoria());
		System.out.println(" Codigo Atencion = " + getCodigoAtencion());
		System.out.println(" dni = " + getDni());
		System.out.println(" Apellido Materno = " + getApellidoPaterno());
		System.out.println(" Apellido Paterno = " + getApellidoMaterno());
		System.out.println(" Nombres = " + getNombres());
		System.out.println(" Sexo = " + getSexo());
		System.out.println(" fecha nacimiento = " + getFechaNac());

		System.out.println(" medio atencion = " + getMedioAtencion());
		System.out.println(" modo atencion = " + getModoAtencion());
		System.out.println(" medio publicitario = " + getDescripcionAtencion());
		System.out.println(" detalle = " + getDetalleAtencion());

		System.out.println(" Direccion = " + getDireccion());
		System.out.println(" departamento = " + getDepartamento());
		System.out.println(" privincia = " + getProvincia());
		System.out.println(" distrito = " + getDistrito());
		System.out.println(" email = " + getEmail());
		System.out.println(" telefono = " + getTelefono());
		System.out.println(" telefono2 = " + getTelefono2());

		System.out.println(" pais residencia = " + getPaisResidencia());
		System.out.println(" pais = " + getPais());

		System.out.println(" pais residencia 2 = " + getPaisResidencia2());

		System.out.println(" tipo = " + getTipoColegio());

		System.out.println(" ano termino = " + getAnoTermino());
		System.out.println(" colegio = " + getColegios());

		System.out.println(" empresa = " + getEmpresa());
		System.out.println(" ruc = " + getRuc());
		System.out.println(" cargo = " + getCargo());
		System.out.println(" anios exp = " + getAnoExperiencia());
		System.out.println(" obser = " + getObservaciones());

		System.out.println(" inst procedencia = " + getInstitutoProcedencia());
		System.out.println(" anio egreso = " + getAnoegreso());
		System.out.println(" motivo tras = " + getMotivotranslado());
		System.out.println(" carrera sugerida = " + getCarreraSugerida());

		if (getCodigoAtencion() == null) {
			try {
				integrationServices.manteInformes("I", null,
						getApellidoMaterno(), getApellidoMaterno(),
						getNombres(), getSexo(), getDireccion(), getTelefono(),
						getFechaNac(), getDistrito(), getEmail(), getDni(),
						getAnoTermino(), getInstitutoProcedencia(),
						getModoAtencion(), null, null, getColegios(),
						getAnoegreso(), getTipoColegio(), getEmpresa(),
						getRuc(), "AR", getDetalleAtencion(), "PR", "TR",
						getCaptacion(), getCarreraSugerida(),
						getMotivotranslado(), getTelefono2(), getCategoria(),
						getPaisResidencia(), getPais(), getMedioAtencion(),
						getPaisResidencia2(), "PP", getAnoExperiencia(),
						getObservaciones(), getCargo());
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,"Error al Insertar", e.getMessage()));
			}
		} else {
			try {
				integrationServices.manteInformes("U", getCodigoAtencion(),
						getApellidoMaterno(), getApellidoMaterno(),
						getNombres(), getSexo(), getDireccion(), getTelefono(),
						getFechaNac(), getDistrito(), getEmail(), getDni(),
						getAnoTermino(), getInstitutoProcedencia(),
						getModoAtencion(), null, null, getColegios(),
						getAnoegreso(), getTipoColegio(), getEmpresa(),
						getRuc(), "AR", getDetalleAtencion(), "PR", "TR",
						getCaptacion(), getCarreraSugerida(),
						getMotivotranslado(), getTelefono2(), getCategoria(),
						getPaisResidencia(), getPais(), getMedioAtencion(),
						getPaisResidencia2(), "PP", getAnoExperiencia(),
						getObservaciones(), getCargo());
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,"Error al Actualizar", e.getMessage()));
			}
		}
		buscar();

	}

	public void obtenerCarreraInst1(String valor) {
		try {
			System.out.println(" institucion = " + valor);
			listaCarreraInst1 = integrationServices.obtenerCarreraInst1(valor);
			listaModalidad = integrationServices.obtenerModa1(valor);
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}

	public void obtenerModalidadEstudio(String valor) {
		try {
			System.out.println(" modalidad = " + "0" + valor);
			listaModalidadEstudio = integrationServices.obtenerModalidad1("0"
					+ valor);
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}

	public void obtenerDescuento(String valor) {
		try {
			System.out.println(" codigoatencion = " + valor);
			listaDescuento = integrationServices.obtenerDescuento2(valor);
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}

	public void onEdit(RowEditEvent event) {
		/*FacesMessage msg = new FacesMessage("Car Edited",
				((Tabla) event.getObject()).getIntitucion1());

		FacesContext.getCurrentInstance().addMessage(null, msg);*/
	}

	public void onCancel(RowEditEvent event) {
		FacesMessage msg = new FacesMessage("Car Cancelled",
				((Car) event.getObject()).getModel());

		FacesContext.getCurrentInstance().addMessage(null, msg);
	}

}
